package com.crl.rcdp.gateway.test;

import lombok.Data;
import org.apache.commons.lang3.StringUtils;

import java.util.Date;

/**
 * 
 * @author: demo
 * @date: 2020年7月2日
 * @Document :请求记录
 */
@Data
public class RecordDO {
	private int logId;

	public RecordDO(String  id) {
		this.id=id;
	}

	/**
	 * 日志信息记录表主键id
	 */
	private String id;
	
	/**
	 * 请求客户地址
	 */
	private  String  clientAddress;
	/**
	 * 请求地址
	 */
	
	private  String  requestAddress;
	
	/**
	 * gateway代理真实地址
	 */
	private  String  gatewayAddress;
	
	/**
	 * 请求url
	 */
	private  String  url;
	
	/**
	 * 请求方法
	 */
	private  String  method;
	/**
	 * 请求头
	 */
	private  String  requestHeader;
	/**
	 * 请求参数记录
	 */
	private String requestParam;

	/**
	 * 返回结果记录
	 */
	private String responseBody;
	/**
	 * 操作时间
	 */
	private Date startTime;
	/**
	 * 响应时间
	 */
	private Date endTime;

	/**
	 * 响应结果1成功0失败
	 */
	private Integer status;
	
	/**
	 * 时间差
	 */
	private Long  spendTime;

	private String owner;//发起人
	private Integer authType;//授权方式

	/**
	 * 拼接响应体
	 * @param response
	 */
	public void appendResponseBody(String response) {

		if (StringUtils.isNotBlank(this.responseBody)) {
			this.responseBody = this.responseBody.concat(response);
		} else {
			this.responseBody = response;
		}
	}
	/**
	 * 计算时间差
	 */
	public  void  calcSpendTime() {
		if (this.endTime==null || this.startTime==null) {
			return ;
		}
		long time=  this.endTime.getTime()-this.startTime.getTime();
		this.setSpendTime(time);
	}
}
